package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 获取当前目录下所有的子目录和文件
 */
public class LisFilesDemo {
    public static void main(String[] args) {
        //定义当前目录
        String path = ".";
        //创建当前目录对象
        File file = new File(path);
        //获取当前目录中的所有目录和文件并迭代输出
        //File[] files = file.listFiles();
        //获取符合规则的文件（借助listFiles的重载方法进行实现，会用到文件过滤器
        File[] files = file.listFiles(new FileFilter() {
            //获取符合规则的文件
            @Override
            public boolean accept(File file) {
                //这里表示只获取File类型是文件并且文件名以.xml结尾的文件
                return file.isFile() && file.getName().endsWith(".xml");
            }
        });
        //用lambda的方式编写上面同样的功能
        files = file.listFiles(f-> f.isFile() && f.getName().endsWith(".xml"));

        for (File f : files){
            System.out.println(f.getName());
        }
    }
}
